package com.foton.lotteryinfrastructure.infrastru.dao;

import com.foton.lotterydomain.activity.model.vo.AlterStateVO;
import com.foton.lotteryinfrastructure.infrastru.po.Activity;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

/**
 * @Author RenPu
 * @Date 2023/11/22 15:16
 * @Version 1.0
 * @Description: 营销活动DAO
 **/
@Mapper
public interface IActivityDao {

    /**
     * 插入数据
     *
     * @param req 入参
     */
    void insert(Activity req);

    /**
     * 根据活动号查询活动信息
     *
     * @param activityId 活动号
     * @return 活动信息
     */
    Activity queryActivityById(Long activityId);


    /**
     * 变更活动状态
     *
     * @param alterStateVO [activityId、beforeState、afterState]
     * @return 更新数量
     */
    int alterState(AlterStateVO alterStateVO);


    /**
     * 根据活动ID，进行扣减库存值
     * @param activityId
     * @return
     */
    int subtractionActivityStock(Long activityId);
}
